Cut, copy, and paste

In human-computer interaction, cut and paste and copy and paste are related commands that offer a user-interface interaction technique for transferring text, data, files or objects from a source to a destination. Most ubiquitously, users require the ability to cut and paste sections of plain text. The cut command removes the selected data from its original position, while the copy command creates a duplicate; in both cases the selected data is placed in a clipboard. The data in the clipboard is later inserted in the position where the paste command is issued.

The command names are an interface metaphor based on the physical procedure used in manuscript editing to create a page layout.

This interaction technique has close associations with related techniques in graphical user interfaces that use pointing devices such as a computer mouse (by drag and drop, for example).

Contents

History

The term "cut and paste" comes from the traditional practice in manuscript-editings whereby people would literally cut paragraphs from a page with scissors and physically paste them onto another page. This practice remained standard as late as the 1970s. Stationery stores formerly sold "editing scissors" with blades long enough to cut an 8½"-wide page. The advent of photocopiers made the practice easier and more flexible.

The act of copying/transferring text from one part of a computer-based document ("buffer") to a different location within the same or different computer-based document was a part of the earliest on-line computer editors. As soon as computer data entry moved from punch-cards to online files (in the mid/late 1960s) there were "commands" for accomplishing this operation. This mechanism was often used to transfer frequently-used commands or text snippets from additional buffers into the document, as was the case with the QED editor.[1]

The earliest editors, since they were designed for "hard-copy" terminals, provided keyboard commands to delineate contiguous regions of text, remove such regions, or move them to some other location in the file. Since moving a region of text required first removing it from its initial location and then inserting it into its new location various schemes had to be invented to allow for this multi-step process to be specified by the user.

Often this was done by the provision of a 'move' command, but some text editors required that the text be first put into some temporary location (AKA, "the clipboard") for later retrieval/placement.

Although the mechanism was already in widespread use in early line and character editors, Lawrence G. Tesler (Larry Tesler) popularized "cut and paste" in the context of computer-based text-editing while working at Xerox Corporation Palo Alto Research Center (PARC) in 1974–1975.[2]

Apple Computer widely popularized the computer-based cut-and-paste paradigm through the Lisa (1981) and Macintosh (1984) operating systems and applications. Apple mapped the functionalities to key-combinations consisting of the Command key (a special modifier key) held down while typing the letters X (for cut), C (for copy), and V (for paste), choosing a handful of keyboard sequences to control basic editing operations. The keys involved all cluster together at the left end of the bottom row of the standard QWERTY keyboard, and each key is combined with a special modifier key to perform the desired operation:

Control-V was first used for paste in the QED editor.[1]

CUA (for OS/2) also uses combinations of the Insert, Del, Shift and Control keys. Early versions of Windows used the IBM standard. Microsoft later adopted the Apple style key-combinations with the introduction of Windows, choosing the control key as their modifier key which had previously been reserved for sending control characters.

Similar patterns of key combinations, later borrowed by others, remain widely available today in most GUI text editors, word processors, and file system browsers.

Cut and paste

Computer-based editing can involve very frequent use of cut-and-paste operations. Most software-suppliers provide several methods for performing such tasks, and this can involve (for example) key-combinations, pulldown menus, pop-up menus, or toolbar buttons.

  1. The user selects the text or file for moving by some method, typically by dragging over the text or file name with the pointing-device or holding down the Shift key while using the arrow keys to move the text cursor
  2. The user performs a "cut" operation via key combination Ctrl+x (+x for Macintosh users), menu, or other means
  3. Visibly, "cut" text immediately disappears from its location. "Cut" files typically change color to indicate that they will be moved.
  4. Conceptually, the text has now moved to a location often called the clipboard. The clipboard typically remains invisible. On most systems only one clipboard location exists, hence another cut or copy operation overwrites the previously stored information. Many UNIX text-editors provide multiple clipboard entries, as do some Macintosh programs such as Clipboard Master,[3] and Windows clipboard-manager programs such as Microsoft Office.
  5. The user selects a location for insertion by some method, typically by clicking at the desired insertion point
  6. A paste operation takes place which visibly inserts the clipboard text at the insertion point. (The paste operation does not typically destroy the clipboard text: it remains available in the clipboard and the user can insert additional copies at other points)

Whereas cut-and-paste often takes place with a mouse-equivalent in Windows-like GUI environments, it may also occur entirely from the keyboard, especially in UNIX text editors, such as Pico or vi. The most common kind of cutting and pasting without a mouse involves the entire current line, but it may also involve text after the cursor until the end of the line and other more sophisticated operations.

When a software environment provides cut and paste functionality, a nondestructive operation called copy usually accompanies them; copy places a copy of the selected text in the clipboard without removing it from its original location.

The clipboard usually stays invisible, because the operations of cutting and pasting, while actually independent, usually take place in quick succession, and the user (usually) needs no assistance in understanding the operation or maintaining mental context.

Copy and paste

The term "copy-and-paste" refers to the popular, simple method of reproducing text or other data from a source to a destination. It differs from cut and paste in that the original source text or data does not get deleted or removed. The popularity of this method stems from its simplicity and the ease with which users can move data between various applications visually - without resorting to permanent storage.

Copying often takes place in graphical user interface systems through use of the key-combinations Ctrl+C, or by using some other method, such as a context menu or a toolbar button. Once one has copied data into the area of memory referred to as the clipboard, one may paste the contents of the clipboard into a destination using the key combinations Ctrl+V, or other methods dependent on the system. Macintosh computers use the key combinations C and ⌘V.

The X Window System maintains an additional clipboard containing the most recently selected text; middle-clicking pastes the content of this "selection" clipboard into whatever the pointer is on at that time.

Most terminal emulators and some other applications support the key combinations Ctrl-Insert to copy and Shift-Insert to paste. This is in accordance with the IBM Common User Access (CUA) standard.

Some programs not only copy and paste text, but also edit it during the process, such as PureText (designed by Steve Miller) which copies text from a table and removes the table during the pasting process.

Common keyboard shortcuts

  Cut Copy Paste
Generic/Apple command-X command-C command-V
Windows/GNOME/KDE control-X / shift-Delete control-C / control-Insert control-V / shift-Insert
BeOS alt-X alt-C alt-V
Common User Access shift+Delete control+Insert shift+Insert
Emacs control-W (to mark)
control-K (to end of line)
meta-W (to mark) control-Y
vi d (delete) y (yank) p (put)
X Window System click-and-drag to highlight middle mouse button

Additional differences between moving and copying

In a spreadsheet, moving (cut and paste) need not equate to copying (copy and paste) and then deleting the original: when moving, references to the moved cells may move accordingly.

Windows Explorer also differentiates moving from merely copy-and-delete: A "cut" file will not actually disappear until pasted elsewhere, and cannot be pasted more than once. Cutting a second file while the first one is cut will leave it unchanged instead of deleting it.

Comparison to verb-object interaction

As of 2007, the cut-and-paste paradigm has become so universal that most computer users take it for granted. A competing technique that was popular in some early, highly successful applications, and considered easy to use by the standards of their day, is illustrated by the following sequence of steps:

  1. Initially, the user has not selected any text
  2. The user initiates the operation by selecting a move command in some manner
  3. The system displays a prompt such as "Move what?"
  4. The system enters a modal state in which the user can either select text or cancel the move-operation
  5. The user selects the text in some manner
  6. The system displays a prompt "To where?"
  7. The system enters a modal state in which the user can either indicate an insertion-point or cancel the move-operation
  8. The user indicates the insertion-point and confirms the move-operation
  9. The system displays the effects of the move

In contrast to the verb-object paradigm, cut and paste is an object-verb interaction technique:

Verb-object: cut here, paste there.
Object-verb: here cut, there paste.

Object-verb is a common structure to issue commands in direct manipulation interfaces. The cut, copy and paste thus turned the old modal interaction into a modeless direct manipulation.

Multiple clipboards

Several GUI editors allow copying text into or pasting text from specific clipboards, typically using a special keystroke-sequence to specify a particular clipboard-number.

Clipboard managers can be very convenient productivity-enhancers by providing many more features than system-native clipboards. Thousands of clips from the clip history are available for future pasting, and can be searched, edited, or deleted. Favorite clips that a user frequently pastes (for example, the current date, or the various fields of a user's contact info) can be kept standing ready to be pasted with a few clicks or keystrokes.

Similarly, a kill ring provides a LIFO stack used for cut-and-paste operations as a type of clipboard capable of storing multiple pieces of data.[4] For example, the Emacs text-editor developed by Richard Stallman provides a kill ring.[5] Each time a user performs a cut or copy operation, the system adds the affected text to the ring. The user can then access the contents of a specific (relatively numbered) buffer in the ring when performing a subsequent paste-operation. One can also give kill-buffers individual names, thus providing another form of multiple-clipboard functionality.

See also

References

  1. ^ a b Deutsch, L. P, and B. W Lampson. “An online editor.” Communications of the ACM 10, no. 12 (1967): 793–799.
  2. ^ "Bill Moggridge, Designing Interactions, MIT Press 2007, pp. 63–68". Designinginteractions.com. http://www.designinginteractions.com/. Retrieved 2011-11-25. 
  3. ^ "Clipboard Master". Clipboard Master 2.0 by In Phase Consulting, July 1994. http://forums.info-mac.org/viewtopic.php?f=243&t=14244&sid=739ce1119f88340c52dc2aed3c788fff. Retrieved 14 September 2009. 
  4. ^ "GKB (Generic Knowledge Base) Editor user's manual". Ai.sri.com. http://www.ai.sri.com/~gkb/general.html#kill-ring. Retrieved 2011-11-25. 
  5. ^ "GNU Emacs manual". Gnu.org. http://www.gnu.org/software/emacs/manual/html_mono/emacs.html#Kill-Ring. Retrieved 2011-11-25. 

External links